public class Likou_lianxi {
    class MyStack {
        Deque<Integer> qu1;
        Deque<Integer> qu2;
        public MyStack() {
            qu1 = new LinkedList<>();
            qu2 = new LinkedList<>();
        }

        public void push(int x) {
            if(!qu1.isEmpty()){
                qu1.offer(x);
            }
            else if(!qu2.isEmpty()){
                qu2.offer(x);
            }
            else{
                qu1.offer(x);
            }
        }
        ////////////////////////////
        public int pop() {
            if(empty()){
                return -1;
            }
            if(!qu1.isEmpty()){
                int size = qu1.size();
                for(int i = 0;i<size-1;i++){
                    int x = qu1.poll();
                    qu2.offer(x);
                }
            }
            else{
                int size = qu2.size();
                for(int i= 0; i<size-1 ; i++){
                    int x = qu2.poll();
                    qu1.offer(x);
                }
            }
            return qu2.poll();
        }
        //////////////////////////////////
        public int top() {
            if(empty()){
                return -1;
            }
            if(!qu1.isEmpty()){
                int size = qu1.size();
                int x =-1;
                for(int i = 0;i<size ;i++){
                    x = qu1.poll();
                    qu2.offer(x);
                }
                return x;
            }
            else{
                int size = qu2.size();
                int x = -1;
                for(int i= 0; i<size ; i++){
                    x = qu2.poll();
                    qu1.offer(x);
                }
                return x;
            }
        }
        //////////////////////
        public boolean empty() {
            return qu1.isEmpty() && qu2.isEmpty();
        }
    }

/**
 * Your MyStack object will be instantiated and called as such:
 * MyStack obj = new MyStack();
 * obj.push(x);
 * int param_2 = obj.pop();
 * int param_3 = obj.top();
 * boolean param_4 = obj.empty();
 */
}
